home *** CD-ROM | disk | FTP | other *** search
/ Aminet 3 / Aminet 3 - July 1994.iso / Aminet / dev / amos / ChooseEnv.lha / AmosMultiEnv / PatchAMOS.e < prev    next >
Encoding:
Text File  |  1992-02-26  |  1.4 KB  |  72 lines

  1. /* Patches AMOS1.36 to load it's envoironment from T:AMOS1_3.Env */
  2.  
  3. MODULE 'ReqTools','libraries/reqtools','utility/tagitem','Dos/Dos'
  4.  
  5.  
  6. PROC main() HANDLE
  7.  
  8.   DEF filename[108]:STRING
  9.   DEF file=0
  10.  
  11.   IF (filename := filereq()) = '' THEN CleanUp(1)
  12.  
  13.  
  14.   IF (file := Open(filename,MODE_OLDFILE)) = 0
  15.     WriteF('Could Not Open AMOS1.3\n')
  16.     CleanUp(1)
  17.   ENDIF
  18.  
  19.   Seek(file,$C08,-1)
  20.   Write(file,'T:AMOS1_3.Env',14)
  21.   Seek(file,$C25,-1)
  22.   Write(file,'T:AMOS1_3.Env',14)
  23.   Seek(file,$C43,-1)
  24.   Write(file,'T:AMOS1_3.Env',14)
  25.  
  26.   Close(file)
  27.   WriteF('Patching completed OK')
  28.  
  29. EXCEPT
  30.   IF file=0
  31.      WriteF('Internal Error Occured - File Not Patched\n')
  32.   ELSE
  33.      WriteF('Error while patching file - AMOS1.3 may be corrupted\n')
  34.      Close(file)
  35.   ENDIF
  36. ENDPROC
  37.  
  38.  
  39.  
  40. PROC filereq()
  41.  
  42.   CONST FILEREQ=0,REQINFO=1
  43.  
  44.   DEF filebuf[120]:STRING
  45.   DEF dirbuf[256]:STRING
  46.   DEF req:PTR TO rtfilerequester
  47.   DEF tempstr[1]:STRING
  48.  
  49.   IF reqtoolsbase:=OpenLibrary('reqtools.library',37)
  50.  
  51.     IF req:=RtAllocRequestA(FILEREQ,0)
  52.       filebuf := 'AMOS1_3.Env'
  53.       RtChangeReqAttrA(req,[RTFI_DIR,'SYS:',TAG_DONE])
  54.       RtFileRequestA(req,filebuf,'Select your AMOS1.3 file',0)
  55.       StrCopy(dirbuf,req.dir,ALL)
  56.       RtFreeRequest(req)
  57.  
  58.       RightStr(tempstr,dirbuf,1)
  59.       IF StrCmp(tempstr,':',1)=FALSE THEN StrAdd(dirbuf,'/',ALL)
  60.     
  61.       StrAdd(dirbuf,filebuf,ALL)
  62.     ENDIF
  63.  
  64.     CloseLibrary(reqtoolsbase)
  65.   ELSE
  66.  
  67.     WriteF('Could not open reqtools.library!\n')
  68.  
  69.   ENDIF
  70.  
  71. ENDPROC dirbuf
  72.